`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 01/10/2025 03:47:38 AM
// Design Name: 
// Module Name: data_width
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////


module splite_data #(
    
    parameter R1T1_MODE=0
    
    )(
        input [11:0] tx1_i,
        input [11:0] tx1_q,
        input [11:0] tx2_i,
        input [11:0] tx2_q,
        input tx_valid,
        
        //
        output [11:0] rx1_i,
        output [11:0] rx1_q,
        output [11:0] rx2_i,
        output [11:0] rx2_q,
        output rx_valid,
        
        
        output [47:0] dac_data,
        input [47:0] adc_data,
        input adc_valid,
        output dac_valid,
        output mode_r1t1
    );
    
    assign mode_r1t1=R1T1_MODE;
    
    
    assign dac_data = {tx2_i, tx2_q, tx1_i, tx1_q};
                         
    assign rx1_i = adc_data[11:0];
    assign rx1_q = adc_data[23:12];
    assign rx2_i = adc_data[35:24];
    assign rx2_q = adc_data[47:36];
    
    assign dac_valid=tx_valid;
    assign rx_valid=adc_valid;
    
    
endmodule
